SDK初始化说明

注意事项

①任意广告类型均不支持中途更改代理,中途更改代理会导致接收不到广告相关回调,如若存在中途更改代理场景,需自行处理相关逻辑,确保广告相关回调正常执行。

②使用SDK聚合功能需将useMediation设置为YES。useMediation仅可设置一次,不支持后续二次修改。

③需要确保在SDK初始化成功后再进行广告请求,否则可能导致广告请求加载失败。

④默认仅支持初始化SDK一次,避免多次初始化SDK场景。

⑤所有广告类型统一引用#import <CloooudSDK/CloooudSDK.h>头文件即可调用对应方法进行集成。

⑥建议优先使用异步初始化方法进行SDK初始化,后续同步初始化方法会逐步废弃。

⑦接入过程中,强烈建议双端分别使用各自的应用ID进行测试,不要混用,否则可能会影响收益。

⑧setIsPaidApp:和setUserKeywords:须征得用户同意才可传入。

接入示例

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    CloooudAdSDKConfiguration *configuration = [CloooudAdSDKConfiguration configuration];
    // 请更换为在平台申请的appid
    configuration.appID = @"xxxxxx";
    // 如果使用聚合维度功能,则务必将以下字段设置为YES
    configuration.useMediation = YES; 
    // SDK异步初始化
    [CloooudAdSDKManager startWithAsyncCompletionHandler:^(BOOL success, NSError *error) {
      if (success) {
        dispatch_async(dispatch_get_main_queue(), ^{
          //请求广告逻辑处理

        });
      }
    }];

    return YES;
  }

接口说明

CloooudAdSDKConfiguration类

CloooudAdSDKConfiguration类支持个性化配置SDK选项,需在调用SDK初始化方法前设置,尤其必要的appID等参数,其中部分设置支持中途修改。

方法名 说明
@property (nonatomic, copy) NSString *appID; 应用ID,必选参数
@property (nonatomic, copy) NSString *secretKey; 唯一标识,可选参数
@property (nonatomic, assign) CloooudAdSDKLogLevel logLevel; 开发者模式,默认为 CloooudAdSDKLogLevelNone
@property (nonatomic, assign) CloooudAdSDKAgeGroup ageGroup; 成人/未成年
@property (nonatomic, copy) NSString *userExtData; 其他用户信息
@property (nonatomic, assign) CloooudOfflineType webViewOfflineType; 默认是CloooudOfflineTypeWebview
@property (nonatomic, strong) NSNumber *debugLog; debug日志开关
@property (nonatomic, strong) NSNumber *themeStatus; 主题模式
@property (nonatomic, strong) NSArray<NSNumber > abvids; 自定义ab实验
@property (atomic, copy) NSString *abSDKVersion; ab实验SDK版本
@property (nonatomic, copy) NSString *customIdfa; 自定义IDFA
@property (nonatomic, assign) BOOL allowModifyAudioSessionSetting; 是否允许SDK在播放音频时修改AVAudioSession的类别和选项,默认为NO; SDK默认设置的类别是AVAudioSessionCategoryAmbient,可切换为AVAudioSessionCategoryOptionDuckOthers自行控制音频设置
@property (nonatomic, assign) BOOL unityDeveloper; unity开发者设置为YES,否则为NO
@property (nonatomic, strong) id privacyProvider; 设置SDK是否使用某些隐私数据,或者自定义隐私数据 如果未设置此属性,SDK将执行默认的隐私数据使用逻辑
@property (nonatomic, strong, nullable) UIImage *appLogoImage; 应用logo
@property (nonatomic, assign) BOOL SDKDECloooudG; SDK是否处于调试模式,默认为NO 当设置为YES时,将初始化一些必要的调试信息 @warning建议在开发阶段设置为YES,这样可以在开发阶段输出必要的调试信息,方便调试和异常解决。 在发布应用程序时,建议将其设置为NO,否则额外的输出将影响性能
@property (nonatomic, assign) BOOL useMediation; 是否使用聚合功能,默认为NO; useMediation仅可设置一次,不支持后续二次修改
@property (nonatomic, strong, readonly) CloooudAdSDKConfigurationMediation *mediation; 调用该接口,用于继续设置聚合维度相关属性
@property (nonatomic, strong) CloooudMUserInfoForSegment *userInfoForSegment; 配置用户分组信息,可随时更新,但用户分组信息更新将触发配置重新加载,请谨慎使用
@property (nonatomic, strong) NSNumber *limitPersonalAds; 是否限制个性化广告: 0-不限制,1-限制,默认为0。官方维护版本中只适用于CSJ,Ks、Sigmob、百度、GDT
@property (nonatomic, strong) NSNumber *limitProgrammaticAds; 是否限制程序化广告: 0-不限制,1-限制,默认为0。官方维护版本中只适用于Ks
@property (nonatomic, strong) NSNumber *forbiddenCAID; 是否禁止CAID:0-不禁止,1-禁止,默认为0。官方维护版本中只适用于百度
@property (nonatomic, copy, nullable) NSString *advanceSDKConfigPath; 设置预先从平台下载的SDKConfig文件路径,当首次安装网络请求SDKConfig失败时会使用,需在SDK初始化前设置
@property (nonatomic, copy) NSDictionary *extraDeviceMap; 设置扩展设备信息,如不了解该功能,请勿使用。 如@"[{\"device_id\":\"62271333038\"}]"

CloooudAdSDKManagert类

该类是整个 SDK 设置的入口和接口,可以设置 SDK 的一些全局信息,提供类方法获取设置结果。

方法名 说明
@property (nonatomic, copy, readonly, class) NSString *SDKVersion; SDK版本号
@property (nonatomic, assign, readonly, class) CloooudAdSDKInitializationState initializationState; SDK的start状态
+ (void)startWithAsyncCompletionHandler:(CloooudCompletionHandler)completionHandler; 异步初始化
@property (class) CloooudAdSDKManagerMediation mediation; SDK初始化后可调用该接口,用于继续调用聚合维度相关方法
+ (NSDictionary * _Nullable)getGMSDKExtraInfo; 获取各类补充信息
+ (void)preloadAdsWithInfos:(NSArray *)infos andInterval:(NSInteger)interval andConcurrent:(NSInteger)concurrent; 触发首次预缓存,针对特定广告位 infos 广告对象 interval 指定每轮请求的时间间隔, 允许时间范围:1-10 concurrent 并发请求的广告数, 允许个数范围:1-20
+ (void)configAdapterWithKey:(NSString *)key andBlock:(void(^)(void))block; 个性化配置类

完整接入示例

CloooudAdSDKConfiguration *configuration = [CloooudAdSDKConfiguration configuration];
// 设置APPID
configuration.appID = @"应用ID";

// 设置日志输出
configuration.logLevel = CloooudAdSDKLogLevelDebug;
configuration.debugLog = @(1);

// 是否使用聚合
configuration.useMediation = YES;

// 隐私合规配置


// 不限制个性化广告(聚合维度功能)
configuration.mediation.limitPersonalAds = @(0);
// 不限制程序化广告(聚合维度功能)
configuration.mediation.limitProgrammaticAds = @(0);
// 不禁止CAID(聚合维度功能)
configuration.mediation.forbiddenCAID = @(0);


// 未成年配置
configuration.ageGroup = CloooudAdSDKAgeGroupAdult;
// 主题模式
configuration.themeStatus = @(CloooudAdSDKThemeStatus_Normal);


// 流量分组配置(聚合维度功能)
CloooudMUserInfoForSegment *segment = [[CloooudMUserInfoForSegment alloc] init];
segment.user_id = @"123";
segment.user_value_group = @"12345";
segment.age = 18;
segment.gender = CloooudUserInfoGenderMale;
segment.channel = @"chanel";
segment.sub_channel = @"sub_channel";
configuration.mediation.userInfoForSegment = segment;

// 初始化
[CloooudAdSDKManager startWithAsyncCompletionHandler:^(BOOL success, NSError *error) {
    if (success) {
        // 处理成功之后的逻辑 
   // 在SDK初始化成功后再进行广告请求,否则可能导致广告请求加载失败
    }
}];